csswidgetnode: Fix container condition for GtkInvisible
authorTimm Bäder <mail@baedert.org>
Tue, 25 Oct 2016 14:52:27 +0000 (16:52 +0200)
committerTimm Bäder <mail@baedert.org>
Fri, 28 Oct 2016 14:33:02 +0000 (16:33 +0200)
... which is a toplevel, but not a container.

gtk/gtkcsswidgetnode.c

index 3983e8384e42c36d7a016c8a07406c0dc47603f3..4e63c3f9a0af2a0ed05a0c206827ad1da23466ca 100644 (file)
@@ -94,7 +94,8 @@ gtk_css_widget_node_queue_validate (GtkCssNode *node)
 {
   GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node);
 
-  if (widget_node->widget && _gtk_widget_is_toplevel (widget_node->widget))
+  if (widget_node->widget && _gtk_widget_is_toplevel (widget_node->widget) &&
+      GTK_IS_CONTAINER (widget_node->widget))
     widget_node->validate_cb_id = gtk_widget_add_tick_callback (widget_node->widget,
                                                                 gtk_css_widget_node_queue_callback,
                                                                 node,
@@ -106,7 +107,8 @@ gtk_css_widget_node_dequeue_validate (GtkCssNode *node)
 {
   GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (node);
 
-  if (widget_node->widget && _gtk_widget_is_toplevel (widget_node->widget))
+  if (widget_node->widget && _gtk_widget_is_toplevel (widget_node->widget) &&
+      GTK_IS_CONTAINER (widget_node->widget))
     gtk_widget_remove_tick_callback (widget_node->widget,
                                      widget_node->validate_cb_id);
 }